Memories such as flash memories, EPROMs (Erasable Programmable Read Only Memories), EEPROMs (Electrically Erasable Programmable Read Only Memories) are known as semiconductor memories. A form of semiconductor memory in which data is written (programmed) by injecting channel hot electrons into a charge storage layer of a memory cell is known. In addition, a form of semiconductor memory in which data is programmed by injecting hot electrons generated near a drain by an interband tunneling phenomenon is known.
A form of semiconductor memory in which a memory cell array is divided into a plurality of blocks each including a plurality of memory cells is known. In addition, a form of semiconductor memory in which a group of memory cells arranged in one direction in a block is connected to a common word line, in which a group of memory cells arranged in another direction in the block is connected to a common bit line, and in which all memory cells in the block are connected to a common source line is known. Furthermore, the technique of controlling voltage of a source line in each block or voltage of source lines in different blocks at program operation time is known.
Japanese Laid-open Patent Publication No. 2006-156925
Japanese Laid-open Patent Publication No. 2009-212992
Japanese Laid-open Patent Publication No. 2004-39091
Japanese Laid-open Patent Publication No. 2001-291392
Japanese Laid-open Patent Publication No. 2003-123493
With the above semiconductor memories including blocks, a program non-target memory cell connected to the same word line where a program target memory cell in a block is connected is influenced by gate disturb at program operation time. If control is exercised to increase voltage of a source line in the block, then the resistance to gate disturb of the program non-target memory cell connected to the same word line where the program target memory cell is connected is improved. However, if voltage of the source line in the block is increased, then current which flows through a program non-target memory cell connected to the same bit line where the program target memory cell in the block is connected increases.